home *** CD-ROM | disk | FTP | other *** search
- // -*- C++ -*-
- // This is part of the iostream library, providing parametrized manipulators
- // Written by Heinz G. Seidl, Copyright (C) 1992 Cygnus Support
- //
- // This library is free software; you can redistribute it and/or
- // modify it under the terms of the GNU Library General Public
- // License as published by the Free Software Foundation; either
- // version 2 of the License, or (at your option) any later version.
- //
- // This library is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- // Library General Public License for more details.
- //
- // You should have received a copy of the GNU Library General Public
- // License along with this library; if not, write to the Free
- // Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- #ifdef __GNUG__
- //#pragma implementation
- #endif
-
- #include "iomanip.h"
-
-
- // Those functions are called through a pointer,
- // thus it does not make sense, to inline them.
-
- ios & __iomanip_setbase (ios& i, int n)
- {
- ios::fmtflags b;
- switch (n)
- {
- case 8:
- b = ios::oct; break;
- case 10:
- b = ios::dec; break;
- case 16:
- b = ios::hex; break;
- default:
- b = 0;
- }
- i.setf(b, ios::basefield);
- return i;
- }
-
- ios & __iomanip_setfill (ios& i, int n)
- {
- //FIXME if ( i.flags() & ios::widechar )
- i.fill( (char) n);
- //FIXME else
- //FIXME i.fill( (wchar) n);
- return i;
- }
-
- ios & __iomanip_setprecision (ios& i, int n)
- {
- i.precision(n);
- return i;
- }
- ios & __iomanip_setw (ios& i, int n)
- {
- i.width(n);
- return i;
- }
-
- ios & __iomanip_setiosflags (ios& i, ios::fmtflags n)
- {
- i.setf(n,n);
- return i;
- }
-
- ios & __iomanip_resetiosflags (ios& i, ios::fmtflags n)
- {
- i.setf(0,n);
- return i;
- }
-